bf94313d8f1c2363cb4328cd89adfa34674baaea,kmelia/kmelia-war/src/main/java/org/silverpeas/components/kmelia/control/KmeliaSessionController.java,KmeliaSessionController,copyPublication,#String#,2574
Before Change
PublicationSelection pubSelect = new PublicationSelection(pub);
addClipboardSelection(pubSelect);
} else {
SilverTrace.warn("kmelia", "KmeliaSessionController.copyPublication",
"Security alert from user " + getUserId() + ", trying to copy publication " + pubId);
throw new ClipboardException("kmelia", SilverTrace.TRACE_LEVEL_INFO,
"Security purpose, access to publication is forbidden");
}
After Change
return getKmeliaBm().isUserCanWrite(getComponentId(), getUserId());
}
public void copyPublication(String pubId) throws ClipboardException {
PublicationDetail pub = getPublicationDetail(pubId);
// Can only copy user accessed publication
PublicationAccessController publicationAccessController =
ServiceProvider.getService(PublicationAccessController.class);
if (publicationAccessController.isUserAuthorized(getUserId(), pub.getPK())) {
PublicationSelection pubSelect = new PublicationSelection(pub);
addClipboardSelection(pubSelect);
} else {
SilverLogger.getLogger(this)
.warn("Security alert from user {0} trying to copy publication {1}", getUserId(), pubId);
throw new ClipboardException("kmelia", SilverpeasException.WARNING,
"Security purpose, access to publication is forbidden");
}